package com.jinghua.treatment.mapper;

import com.jinghua.treatment.entity.SysPatient;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysPatientMapper {
    //int deleteByPrimaryKey(Integer patientId);

    /**
     * 新增患者
     * @param record    患者信息
     * @return          新增结果
     */
    int insert(SysPatient record);

    /**
     * 根据患者编号查询患者
     * @param patientId 患者编号
     * @return          患者信息
     */
    SysPatient selectByPrimaryKey(Integer patientId);

    /**
     * 根据医生编号获取患者信息列表
     * @param doctorId  医生编号
     * @return          患者信息列表
     */
    List<SysPatient> selectBydoctorId(@Param("doctorId") Integer doctorId);

    /**
     * 根据医生编号获取患者数量
     * @param doctorId  医生编号
     * @return          患者数量
     */
    int selectPatientCount(@Param("doctorId") Integer doctorId);
    /**
     * 根据医生编号获取患者信息列表，支持名称模糊查询
     * @param doctorId  医生编号
     * @param patientName 患者名称，支持模糊查询
     * @return          患者信息列表
     */
    List<SysPatient> selectByName(@Param("doctorId") Integer doctorId,@Param("patientName") String patientName);

    /**
     * 根据医生编号获取最近咨询患者信息列表
     * @param doctorId  医生编号
     * @return          患者信息列表
     */
    List<SysPatient> selectByTime(@Param("doctorId") Integer doctorId);

    /**
     * 更新学员信息
     * @param record    学员信息
     * @return          更新结果
     */
    int updateByPrimaryKey(SysPatient record);
}